Systems and methods for a crank sensor having multiple sensors and a magnetic element

ABSTRACT

Embodiments for crankshaft tooth sensing for a crank pulse wheel are provided. In some embodiments, a method includes identifying a first tooth characteristic of a tooth of a plurality of teeth on the crank pulse wheel. The first tooth characteristic is identified by a first sensor element. The method also includes identifying a second tooth characteristic of the tooth with a second sensor element. The method further includes identifying a tooth type for the tooth based on the first tooth characteristic and the second tooth characteristic. The method includes identifying a sliding buffer for a set of N teeth of the plurality of teeth on the crank pulse wheel. The method yet further includes calculating a buffer value for the sliding buffer corresponding to the N set of teeth represented in the sliding buffer. The angular position of the crank pulse wheel is determined based on the buffer value.

RELATED APPLICATIONS

This application expressly incorporates by reference herein each of the following: U.S. application Ser. No. 16/271,087 filed on Feb. 8, 2019 and U.S. application Ser. No. 16/657,134 filed on Oct. 18, 2019.

BACKGROUND

A crankshaft sensor is used to determine the position and timing of an engine of a vehicle. In particular, as a crank pulse wheel of the crankshaft turns, the crankshaft sensor detects tooth pulses corresponding to the teeth of the crank pulse wheel. The tooth pulses correspond to angular positions of the crankshaft so that the appropriate engine timing can be determined based on the position of the crank pulse wheel in combination with camshaft position information. For example, the crank pulse wheel has at least one missing or altered tooth that allows the position of the crank pulse wheel to be indexed and/or determined. However, using missing or altered tooth alone may require prior knowledge of the position of the crankshaft pulse wheel or the crankshaft pulse wheel must rotate past the missing or altered teeth before the crankshaft position can be determined. For example, the crank pulse wheel of the crankshaft may have to rotate 360 degrees before being able to associate a tooth pulse with a particular angular position. Accordingly, determining the position and timing of the engine may require additional time or information.

BRIEF DESCRIPTION

According to one or more aspects, a method for crankshaft tooth sensing for an encoded crank pulse wheel of a vehicle is provided. The method includes identifying a first tooth characteristic of a tooth of a plurality of teeth on the crank pulse wheel with a crankshaft sensor having a magnetic element, a first sensor element, and a second sensor element. The plurality of teeth are arranged in a single track on the crank pulse wheel. The first tooth characteristic, identified by the first sensor element, measures a first axis of a magnetic field generated by the magnetic element. Referring back to the method, the method also includes identifying a second tooth characteristic of the tooth with the second sensor element. The method further includes identifying a tooth type for the tooth based on the first tooth characteristic and the second tooth characteristic. The method includes identifying a sliding buffer for a set of N teeth of the plurality of teeth on the crank pulse wheel. N is a positive integer less than a total number of teeth of the crank pulse wheel. The method yet further includes calculating a buffer value for the sliding buffer corresponding to the N set of teeth represented in the sliding buffer. The angular position of the crank pulse wheel is determined based on the buffer value.

According to one or more aspects, a non-transitory computer-readable storage medium is provided for storing instructions that, when executed by a computer, cause the computer to perform a method for position determination based on sensing of an encoded crank pulse wheel of a vehicle. The method includes identifying a first tooth characteristic of a tooth of a plurality of teeth on the crank pulse wheel with a crankshaft sensor having a magnetic element, a first sensor element, and a second sensor element. The plurality of teeth are arranged in a single track on the crank pulse wheel. The first tooth characteristic, identified by the first sensor element, measures a first axis of a magnetic field generated by the magnetic element. Referring back to the method, the method also includes identifying a second tooth characteristic of the tooth with the second sensor element. The method further includes identifying a tooth type for the tooth based on the first tooth characteristic and the second tooth characteristic. The method includes identifying a sliding buffer for a set of N teeth of the plurality of teeth on the crank pulse wheel. N is a positive integer less than a total number of teeth of the crank pulse wheel. The method yet further includes calculating a buffer value for the sliding buffer corresponding to the N set of teeth represented in the sliding buffer. The angular position of the crank pulse wheel is then determined based on the buffer value.

According to one or more aspects, a system for crankshaft tooth sensing of an encoded crank pulse wheel of a vehicle is provided. In one embodiment, the system includes a plurality of teeth on the crank pulse wheel, a crankshaft sensor, a processor and memory. The plurality of teeth on the crank pulse wheel arranged in a single track. The crankshaft sensor includes a magnetic element interposed between and separating a first sensor element and a second sensor element. In some embodiments, the first sensor element and the second sensor element are magnetic measurement devices. The memory stores instructions that are executed by the processor and cause the processor to perform a method. The method includes identifying a first tooth characteristic of a tooth of the plurality of teeth on the crank pulse wheel with the first sensor element of the crankshaft sensor that measures a first axis of a magnetic field generated by the magnetic element. The method also includes identifying a second tooth characteristic of the tooth of the plurality of teeth with the second sensor element. The method further includes identifying a tooth type for the tooth based on the first tooth characteristic and the second tooth characteristic. The method yet further includes identifying a sliding buffer for a set of N teeth of the plurality of teeth on the crank pulse wheel. N is a positive integer less than a total number of teeth of the crank pulse wheel. The method includes calculating a buffer value for the sliding buffer corresponding to the N set of teeth represented in the sliding buffer. The angular position of the crank pulse wheel is then determined based on the buffer value.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram of an operating environment for implementing systems and methods for crankshaft tooth sensing according to one or more embodiments.

FIG. 2 is a schematic diagram of a crank pulse wheel and a crankshaft sensor according to one or more embodiments.

FIG. 3 is an example flow diagram of a method for crankshaft tooth sensing according to one or more embodiments.

FIG. 4 is a schematic diagram of crankshaft sensor according to one or more embodiments.

FIG. 5 is a schematic diagram of crankshaft tooth geometry of a crank pulse wheel according to one or more embodiments.

FIG. 6 is a crank tooth table with a second sliding buffer according to one or more embodiments.

FIG. 7 is an example flow diagram of another method for crankshaft tooth sensing according to one or more embodiments.

FIG. 8 is another schematic diagram of crankshaft sensor according to one or more embodiments.

DETAILED DESCRIPTION

Generally, the systems and methods disclosed herein are directed to sensing a crank pulse wheel so that the angular position of the crank pulse wheel can be determined. The more information that can be gleaned from a single tooth on a crank pulse wheel, the fewer teeth on the crank pulse wheel that will need to be sensed to determine the angular position. Here, different types teeth on the crank pulse wheel are distinguished based on tooth characteristics, such as the presence or length of the tooth, whether the tooth is angled or has a protrusion, and/or the color of the tooth, among others.

In one embodiment, a crank pulse sensor can distinguish between the teeth based on the manner in which the crank pulse wheel affects a magnetic field. A crankshaft sensor may include a magnetic element capable of generating a magnetic field. The crankshaft sensor may also include a number of sensors. For example, the crankshaft sensor may include two or more magnetic measurement devices that detect variations in the magnetic field along different axes. Different characteristics in the shape of the teeth are determined based on variations in the magnetic field. For example, suppose that a first axis of the magnetic field is determinative of length while a second axis of the magnetic field is determinative of and angle or bend in the tooth that makes the tooth wider. By measuring variations in the first axis and/or the second axis, it can be determined if the tooth is long or short, or if the tooth has a protrusion that extending in an axial direction from the crank pulse wheel. The sensors of the crankshaft sensor may also include a color sensor that determines the color of at least a portion of a face of the tooth.

Combining two or more of these tooth characteristics confers more information about a single tooth on the crank pulse wheel. The more encoded characteristics that can be determined from the teeth, the fewer teeth of the crank pulse wheel have to be sensed to determine the angular position the crank pulse wheel. For example, there may be only one location on the crank pulse wheel that has a short tooth followed by a long tooth with a protrusion. Accordingly, the system may only have to read two teeth to determine the angular position of the crank pulse wheel, thereby decreasing the amount of time and number of teeth that have to be encoded.

Embodiments or examples, illustrated in the drawings are disclosed below using specific language. It will nevertheless be understood that the embodiments or examples are not intended to be limiting. Any alterations and modifications in the disclosed embodiments, and any further applications of the principles disclosed in this document are contemplated as would normally occur to one of ordinary skill in the pertinent art.

Definitions

The following includes definitions of selected terms employed herein. The definitions include various examples and/or forms of components that fall within the scope of a term and that can be used for implementation. The examples are not intended to be limiting.

A “bus,” as used herein, refers to an interconnected architecture that is operably connected to other computer components inside a computer or between computers. The bus can transfer data between the computer components. The bus can be a memory bus, a memory controller, a peripheral bus, an external bus, a crossbar switch, and/or a local bus, among others. The bus can also be a mobile programmable agent bus that interconnects components inside a mobile programmable agent using protocols such as Media Oriented Systems Transport (MOST), Controller Area network (CAN), Local Interconnect Network (LIN), among others.

“Component”, as used herein, refers to a computer-related entity (e.g., hardware, firmware, instructions in execution, combinations thereof). Computer components may include, for example, a process running on a processor, a processor, an object, an executable, a thread of execution, and a computer. A computer component(s) can reside within a process and/or thread. A computer component can be localized on one computer and/or can be distributed between multiple computers.

“Computer communication,” as used herein, refers to a communication between two or more computing devices (e.g., computer, personal digital assistant, cellular telephone, network device, mobile programmable agent, computing device, infrastructure device, security device) and can be, for example, a network transfer, a data transfer, a file transfer, an applet transfer, an email, a hypertext transfer protocol (HTTP) transfer, and so on. A computer communication can occur across any type of wired or wireless system and/or network having any type of configuration, for example, a local area network (LAN), a personal area network (PAN), a wireless personal area network (WPAN), a wireless network (WAN), a wide area network (WAN), a metropolitan area network (MAN), a virtual private network (VPN), a cellular network, a token ring network, a point-to-point network, an ad hoc network, a mobile ad hoc network, a vehicle-to-everything (V2X) network, among others. Computer communication can utilize any type of wired, wireless, or network communication protocol including, but not limited to, Ethernet (e.g., IEEE 802.3), WiFi (e.g., IEEE 802.11), communications access for land mobiles (CALM), WiMax, Bluetooth, Zigbee, ultra-wideband (UWAB), multiple-input and multiple-output (MIMO), telecommunications and/or cellular network communication (e.g., SMS, MMS, 3G, 4G, LTE, 5G, GSM, CDMA, WAVE), satellite, dedicated short range communication (DSRC), among others.

A “database,” as used herein can refer to table, a set of tables, a set of data stores and/or methods for accessing and/or manipulating those data stores. Some databases can be incorporated with a disk as defined below.

A “disk,” as used herein can be, for example, a magnetic disk drive, a solid-state disk drive, a floppy disk drive, a tape drive, a Zip drive, a flash memory card, and/or a memory stick. Furthermore, the disk can be a CD-ROM (compact disk ROM), a CD recordable drive (CD-R drive), a CD rewritable drive (CD-RW drive), and/or a digital video ROM drive (DVD ROM). The disk can store an operating system that controls or allocates resources of a computing device.

“Logic circuitry,” as used herein, includes, but is not limited to, hardware, firmware, a non-transitory computer readable medium that stores instructions, instructions in execution on a machine, and/or to cause (e.g., execute) an action(s) from another logic circuitry, module, method and/or system. Logic circuitry can include and/or be a part of a processor controlled by an algorithm, a discrete logic (e.g., application-specific integrated circuit (ASIC)), an analog circuit, a digital circuit, a programmed logic device, a memory device containing instructions, and so on. Logic can include one or more gates, combinations of gates, or other circuit components. Where multiple logics are described, it can be possible to incorporate the multiple logics into one physical logic. Similarly, where a single logic is described, it can be possible to distribute that single logic between multiple physical logics.

A “memory,” as used herein can include volatile memory and/or non-volatile memory. Non-volatile memory can include, for example, ROM (read only memory), PROM (programmable read only memory), EPROM (erasable PROM), and EEPROM (electrically erasable PROM). Volatile memory can include, for example, RAM (random access memory), synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), and direct RAM bus RAM (DRRAM). The memory can store an operating system that controls or allocates resources of a computing device.

A “module,” as used herein, includes, but is not limited to, non-transitory computer readable medium that stores instructions, instructions in execution on a machine, hardware, firmware, software in execution on a machine, and/or combinations of each to perform a function(s) or an action(s), and/or to cause a function or action from another module, method, and/or system. A module may also include logic, a software-controlled microprocessor, a discrete logic circuit, an analog circuit, a digital circuit, a programmed logic device, a memory device containing executing instructions, logic gates, a combination of gates, and/or other circuit components. Multiple modules may be combined into one module and single modules may be distributed among multiple modules.

An “operable connection,” or a connection by which entities are “operably connected,” is one in which signals, physical communications, and/or logical communications can be sent and/or received. An operable connection can include a wireless interface, a physical interface, a data interface, and/or an electrical interface.

A “processor” as used herein, processes signals and performs general computing and arithmetic functions. Signals processed by the processor can include digital signals, data signals, computer instructions, processor instructions, messages, a bit, a bit stream, or other means that can be received, transmitted and/or detected. Generally, the processor can be a variety of various processors including multiple single and multicore processors and co-processors and other multiple single and multicore processor and co-processor architectures. The processor can include various modules to execute various functions.

“Vehicle,” as used herein, refers to any moving vehicle that is capable of carrying one or more human occupants and is powered by any form of energy. The term “vehicle” includes, but is not limited to cars, trucks, vans, minivans, SUVs, motorcycles, scooters, boats, go-karts, amusement ride cars, rail transport, personal watercraft, and aircraft. In some cases, a motor vehicle includes one or more engines. Further, the term “vehicle” can refer to an electric vehicle (EV) that is capable of carrying one or more human occupants and is powered entirely or partially by one or more electric motors powered by an electric battery. The EV can include plug-in hybrid electric vehicles (PHEV). The term “vehicle” can also refer to an autonomous vehicle and/or self-driving vehicle powered by any form of energy. The autonomous vehicle can carry one or more human occupants. Further, the term “vehicle” can include vehicles that are automated or non-automated with pre-determined paths or free-moving vehicles.

“Vehicle control system” and/or “vehicle system,” as used herein can include, but is not limited to, any automatic or manual systems that can be used to enhance the vehicle, driving, and/or safety. Exemplary vehicle systems include, but are not limited to: an engine control system, an electronic stability control system, an anti-lock brake system, a brake assist system, an automatic brake prefill system, a low speed follow system, a cruise control system, a collision warning system, a collision mitigation braking system, an auto cruise control system, a lane departure warning system, a blind spot indicator system, a lane keep assist system, a navigation system, a transmission system, brake pedal systems, an electronic power steering system, visual devices (e.g., camera systems, proximity sensor systems), an electronic pretensioning system, a monitoring system, a vehicle suspension system, a sensory system, an interior or exterior camera system among others.

I. System Overview

Referring now to the drawings, wherein the showings are for purposes of illustrating one or more exemplary embodiments and not for purposes of limiting same. FIG. 1 is a schematic diagram of an operating environment 100 for crankshaft tooth sensing of an encoded crank pulse wheel. The components of operating environment 100, as well as the components of other systems, hardware architectures, and software architectures discussed herein, can be combined, omitted, or organized into different architectures for various embodiments. Further, the components of the operating environment 100 can be implemented with or associated with a vehicle 200 and a crank pulse wheel 202, as shown in FIG. 2.

In the illustrated embodiment of FIG. 1, the operating environment 100 includes a vehicle computing device (VCD) 102 with provisions for processing, communicating and interacting with various components of a vehicle, such as vehicle 200, and other components of the operating environment 100. In one embodiment, the VCD 102 can be implemented in the vehicle 200, for example, as part of a telematics unit, a head unit, a navigation unit, an infotainment unit, an electronic control unit, among others. In other embodiments, the components and functions of the VCD 102 can be implemented remotely from the vehicle 200, for example, with a portable device (not shown) or another device connected via a network (e.g., a network 128).

Generally, the VCD 102 includes a processor 104, a memory 106, a disk 108, and an input/output (I/O) interface 110, which are each operably connected for computer communication via a bus 112 and/or other wired and wireless technologies. The I/O interface 110 provides software and hardware to facilitate data input and output between the components of the VCD 102 and other components, networks, and data sources, which will be described herein. Additionally, the processor 104 includes a read module 114, a buffer module 116, and a position module 118 for crankshaft tooth sensing, facilitated by the components of the operating environment 100. The memory 106 may store instructions that when executed by the processor 104 cause the processor to perform in accordance with the read module 114, the buffer module 116, and the position module 118.

The VCD 102 is also operably connected for computer communication (e.g., via the bus 112 and/or the I/O interface 110) to one or more vehicle systems 120. The vehicle systems 120 can include, but are not limited to, any automatic or manual systems that can be used to enhance the vehicle 200, driving, and/or safety. Here, as an example, the vehicle systems 120 include a fuel injection system 122. The fuel injection system 122 delivers fuel to a combustion engine of the vehicle 200 based on synchronized timing to propel the vehicle 200.

The vehicle systems 120 include and/or are operably connected for computer communication to various vehicle sensors 124. The vehicle sensors 124 provide and/or sense information associated with the vehicle 200, the vehicle environment, and/or the vehicle systems 120. Here, the vehicle sensors 124 include a crankshaft sensor 126 for detecting the teeth on a crank pulse wheel 202. In some embodiments, the crankshaft sensor 126 may include magnetic measurement devices, such as a magneto-resistive sensor, Hall Effect sensor, or color sensor. The crankshaft sensor 126 may have a digital output or a variable reluctance sensor having an analog output. In particular, the crankshaft sensor 126 may measure the magnetic flux corresponding to the teeth on the crank pulse wheel 202. The crank pulse wheel 202 has a total number of teeth that extend outward from the main body of the crank pulse wheel 202. A tooth of the total number of teeth may have a profile that is polyhydric, conical, spherical, helical, beveled, crowned, cantilevered, angled, rounded, and/or irregular shaped, among others.

The vehicle sensors 124 can also include, but are not limited to, image sensors, such as cameras, optical sensors, radio sensors, electromagnetic sensors, etc. mounted to the interior or exterior of the vehicle 200. The vehicle sensors 124 may detect characteristics of the engine, such as the position, timing, velocity, etc. of the components. Accordingly, the vehicle sensors 124 are operable to sense a measurement of data associated with the vehicle 200, the vehicle environment, and/or the vehicle systems 120, and generate a data signal indicating said measurement of data. These data signals can be converted into other data formats (e.g., numerical) and/or used by the vehicle systems 120 and/or the VCD 102 to generate other data metrics and parameters. For example, the data signals may convert the sensor data to values that can be used by the VCD 102. It is understood that the sensors can be any type of sensor, for example, acoustic, electric, magnetic, radio, environmental, optical, imaging, light, pressure, force, thermal, temperature, proximity, among others.

The VCD 102 is also operatively connected for computer communication to the network 128. It is understood that the connection from the I/O interface 110 and to the network 128 can be facilitated in various ways. For example, through a network connection (e.g., wired or wireless), a cellular data network from a portable device (not shown), a vehicle to vehicle ad-hoc network (not shown), an in-vehicle network (not shown), among others, or any combination of thereof. The network 128 is, for example, a data network, the Internet, a wide area network or a local area network. The network 128 serves as a communication medium to various remote devices (e.g., databases, web servers, remote servers, application servers, intermediary servers, client machines, other portable devices). For example, the VCD 102 may receive updates from a manufacturer database 130 using the network 128.

The application of systems for and methods for crankshaft tooth sensing are described with respect to the vehicle 200. As shown in FIG. 2, the vehicle 200 includes the operating environment 100, the crank pulse wheel 202, and the crankshaft sensor 126 described above. The crank pulse wheel 202 has teeth, such as tooth 204, having a predetermined geometry defined by at least one tooth characteristic. However, the crank pulse wheel 202 is exemplary in nature and may have more or fewer teeth with different profiles, geometries, and/or configurations on the crank pulse wheel 202.

Using the system and network configuration discussed above, the crankshaft teeth can be encoded to indicate a specific angular position on the crank pulse wheel 202 which can be used to determine the position and timing of the engine of the vehicle 200. In particular, the teeth have different geometries and are ordered such that when the VCD 102 reads a certain fixed number of consecutive teeth, the angular position of the crank pulse wheel 202 can be determined. The order of the teeth on the crank pulse wheel 202 is patterned such that the angular position of the crank pulse wheel 202 can be determined regardless of where on the crank pulse wheel 202 the reading began. Detailed embodiments describing exemplary methods using the system and network configuration discussed above will now be discussed in detail.

II. Application of Systems and Methods for Tooth Sensing

Referring now to FIG. 3, a method 300 for crankshaft tooth sensing will now be described according to an exemplary embodiment. FIG. 3 will be described with reference to FIGS. 1, 2, and 4-8. As shown in FIG. 3, the method for providing a crankshaft tooth sensing is described according to a number of steps for simplicity, but it is understood that the elements of the method 300 can be organized into different architectures, bloc ks, stages, and/or processes.

At block 302, the method 300 includes the read module 114 identifying a first tooth characteristic of a tooth of a plurality of teeth on the crank pulse wheel 202 with a crankshaft sensor 126 having a magnetic element 402, a first sensor element 404, and a second sensor element 406. The magnetic element 402 generates a symmetric magnetic field. The magnetic element 402 may be a single magnet that prevents interference of magnetic fields from multiple magnets. In some embodiments, the magnetic element 402 may be a rare earth magnet comprised of alloys or rare-earth elements. The first sensor element 404 and the second sensor element 406 may the same or different types of sensor. One type of sensor of the first sensor element 404 and/or the second sensor element 406 may be a sensor that measures the magnitude of the magnetic field generated by the magnetic element 402. For example, the first sensor element 404 and/or the second sensor element 406 may be a Hall effect sensor, giant magneto-resistive sensor, variable reluctance sensor, or magneto-resistance probe, among others that measures variations in the magnetic field. In some embodiments, the magnetic element 402 is interposed between and separates the first sensor element 404 and the second sensor element 406. The symmetric location of the first sensor element 404 and the second sensor element 406 allows for shared use of the magnetic element 402.

The magnetic element 402 generates a magnetic field that encompasses at least a portion of the crank pulse wheel 202. The magnetic element 402 may also generate a magnetic field that does not encompass a portion of the crank pulse wheel but is sufficiently proximate the crank pulse wheel 202 such the first sensor element 404 and/or the second sensor element 406 can measure variations in the magnetic field caused by the presence of the crank pulse wheel 202. As discussed above, the crank pulse wheel 202 has a plurality of teeth. In some embodiments, the plurality of teeth may be arranged in a single track on the crank pulse wheel 202. The first sensor element 404 and/or the second sensor element 406 may measure variations in the magnetic field along different axes. For example, the first sensor element 404 may measure variations in the magnetic field along a first axis 408 and the second sensor element 406 may measure variations in the magnetic field along a second axis 410. In some embodiments, the first axis 408 is parallel to the second axis 410.

The first tooth characteristic is determined based on the output of the first sensor element 404. Tooth characteristics are physical features of at least some of the teeth on the crank pulse wheel 202 that make the teeth differentiable by the crankshaft sensor 126. A tooth characteristic may be based on geometric properties of a tooth and include the size and/or shape of the teeth on the crank pulse wheel 202 or physical geometric features of the crank pulse wheel 202 itself. For example, the tooth geometry may include height, irregular formations (e.g., outcroppings, protrusions, nodules, etc.), thickness, depth, surface angle, surface patterning, voids, holes, cavities, and/or guides, among others. The tooth characteristics may also include material-based differences, differences in radiation profiles of the teeth, spectral differences on the electromagnetic spectrum, and/or optical differences (e.g., color), among others that can be sensed by the vehicle sensors 124.

In one embodiment, the first tooth characteristic may be determined in variations to the magnetic field measured along the first axis 408. The first tooth characteristic may be the presence and/or the tooth length of a tooth. Turning to FIG. 5 an example diagram of crankshaft tooth geometry of a crank pulse wheel 500 is shown having a first tooth 502, a second tooth 504, and a third tooth 506. In one embodiment, the first tooth characteristic may be the presence of a tooth on the crank pulse wheel 202. For example, the first sensor element 404 may measure variations in the magnetic field associated with the presence of a tooth. The read module 114 may then determine the first characteristic as a tooth being present or a gap being present at that position on the crank pulse wheel 202.

In another embodiment, the read module 114 may identify the first tooth characteristic as a geometric aspect of a present tooth. For example, the first tooth characteristic may be a tooth having a threshold length. Here, the first tooth 502 and the third tooth 506 may have sufficient length to cause a threshold variation in the magnetic field at the first axis. Accordingly, the read module 114 may identify the first tooth 502 and the third tooth 506 as being long teeth while the second tooth 504 is identified as a short tooth.

At block 304 the method 300 includes the read module 114 identifying a second tooth characteristic of a tooth with the second sensor element 406. As discussed above, in some embodiments, the second sensor element 406 may measure variations in the magnetic field at the second axis 410. The measured variance in the magnetic field for the first tooth characteristic and the second tooth characteristic may be based on the axis separation 412 between the first axis 408 and the second axis 410.

The second tooth characteristic may be protrusion width that is normal to a radially outward direction of the crank pulse wheel 202. The protrusion width may be a measure of how far a protrusion or outcropping extends away from the base of the tooth. Turning to FIG. 5, the second tooth 504 and the third tooth 506 have protrusions that extend over to the line demarcating the second axis 410 while the first tooth 502 does not. Thus, the second tooth 504 and the third tooth 506 may cause variations in the magnetic field that can be detected by the second sensor element 406 measuring along the second axis 410. Accordingly, the read module 114 may identify the second tooth 504 and the third tooth 506 as being angled teeth while the first tooth 502 is identified as extending in a radially outward direction of the crank pulse wheel 500 without an outcropping also referred to as a normal tooth.

In another embodiment, the second sensor element 406 may be a color sensor. The color sensor may emit a light on the tooth, such as the first tooth 502, the second tooth 504, and the third tooth 506. The color sensor detects a color of the face (e.g., at least one surface) of the tooth. The color sensor may emit white light onto the tooth and determining the reflected color. The reflected color may be in the RGB scale. Accordingly, the second characteristic may be a color of at least one face of the tooth. Suppose that the first tooth 502 is red, the second tooth 504 is green, and the third tooth 506 is blue. The read module 114 then identifies the second tooth characteristic of the first tooth 502 as red, the second tooth 504 is green, and the third tooth 506 is blue with the second sensor element 406.

Returning to FIG. 3, at block 306 the method 300 includes the read module 114 a identifying a tooth type for a tooth based on, at least, the first tooth characteristic and the second tooth characteristic. The tooth type may be based on the number of possible combinations of the different tooth characteristics. Continuing the example from above, suppose the first tooth characteristic is presence and the second tooth characteristic is color. When the first sensor element 404 detects a present tooth, the second sensor element 406 may detect the color of the present tooth. For example, again suppose that the first tooth 502 is red, the second tooth 504 is green, and the third tooth 506 is blue. The read module 114 may identify the tooth type for the present teeth based on the color. Therefore, the tooth type for the first tooth 502 may be present-red, the tooth type for the second tooth 504 as present-green, and the tooth type for the third tooth 506 as present-blue. The read module 114 may also identify gaps between the teeth of the crank pulse wheel. In one embodiment the teeth on the crank pulse wheel may not be evenly spaced. Accordingly, a tooth characteristic may be the length of a gap between teeth.

In another embodiment, both the first tooth characteristic and the second tooth characteristic can be variable. For example, the first tooth characteristic can be either “long” or “short” and the second tooth characteristic can be either “normal” or “angled.” Accordingly, the different possible combinations include long-normal, long-angled, short-normal, or short-angled. In the table below, the combinations of the first tooth characteristic and the second tooth characteristic is given for the first tooth 502, the second tooth 504, and the third tooth 506. The different combinations can be associated with different characteristic values. For example, the characteristic values may include long-normal as (1), long-angled as (2), short-normal as (3), or short-angled as (4). Therefore, the first tooth 502 has a characteristic value of 1, the second tooth 504 has a characteristic value of 4, and the third tooth 506 has a characteristic value of 2.

First Tooth Second Tooth Third Tooth 502 504 506 First Tooth Characteristic Long Short Long Second Tooth Characteristic Normal Angled Angled Characteristic Value 1 4 2

At block 308, the method 300 includes the buffer module 116 identifying a sliding buffer for a set of N teeth of the plurality of teeth on the crank pulse wheel 202. N is a positive integer less than a total number of teeth of the crank pulse wheel 202. Turning to FIG. 6 is a crank tooth table 600 that includes crank tooth reference numbers corresponding to the characteristic values described above. The crank tooth table 600 has a first sliding buffer 602. The sliding buffer can be incremented by one tooth, such that the read module 114 can begin anywhere on the crank pulse wheel 202. For example, turning to FIG. 6, is a crank tooth table 600 with a first sliding buffer 602.

Here, the sliding buffer 602 includes the first tooth 502 with a tooth type (1), the second tooth 504 with a tooth type (4), and the third tooth 506 with a tooth type (2). Accordingly, the first sliding buffer 602 has N equal to three such that the first sliding buffer includes the characteristic value for three consecutive teeth. As discussed above, the sliding buffer can be incremented by one tooth, such that the read module 114 can begin anywhere on the crank pulse wheel 202. For example, a second sliding buffer may include the second tooth 504 with a tooth type (4) and the third tooth 506 with a tooth type (2) with the tooth type (1) of a fourth tooth 508. Likewise, a third sliding buffer incremented one tooth from the second sliding buffer would include the third tooth 506 with a tooth type (2), the fourth tooth 508 with tooth type (1), and a fifth tooth 510 with a tooth type (2). The read module 114 may only need to read the next tooth to identify the sliding buffer. For example, to read the fourth sliding buffer, the read module may only read a sixth tooth 512 with tooth type (3), since the fourth tooth 508 and the fifth tooth 510 were previously sensed.

At block 310, the method 300 includes the buffer module 116 calculating a buffer value for the sliding buffer corresponding to the N set of teeth represented in the sliding buffer. A buffer value is calculated for the sliding buffer corresponding to a tooth represented in the sliding buffer. The buffer module 116 may calculate the buffer value using different sensing types associated with numerical systems such as arrays, decimals, hexadecimals, binary, trinary, and transformations, among others. In some embodiments, the buffer value may be arbitrarily assigned and indexed in a crank tooth map. The buffer value may include a single parameter or multiple parameters. For example, the first sliding buffer 602 may have a first buffer value that is an array (1, 4, 2) corresponding to the characteristic values for each of the teeth in the first sliding buffer 602, as shown in FIG. 6. Alternatively, the first buffer value may use the (1, 4, 2) as the decimal value 142, the hexadecimal value 8E, or the binary value 10001110 to conserve memory during operations.

At block 312, the method 300 includes the position module 118 determining an angular position of the crank pulse wheel 202 based on the buffer value. The positioning processes described below are performed by, coordinated by, and/or facilitated by the position module 118. The position module 118 may compare the buffer values to a listing of known angular positions. In particular, the angular position may correspond to a tooth included in the sliding buffer. For example, the first buffer value (1, 4, 2) may be compared to a crank tooth map.

The crank tooth map is a data look up table that can be accessed by the position module 118 to determine the crankshaft position based on the buffer value of a sliding buffer. The crank tooth map may be stored locally on the VCD 102 or remotely, such as at the manufacturer database 130 and accessed over the network 128. In one embodiment, the crank tooth map includes a tooth number row, a sliding buffer row, and an angular position row. In another embodiment, rather than an angle for the angular position, the crank tooth map may include an indexed numerical value to indicate the position of the crank pulse wheel 202. Continuing the example, from above, the position module 118 may then determine that the buffer value (1, 4, 2) corresponds to the angular position of 330°. In this manner the position module determines the angular position of the crank pulse wheel 202.

Because each angular position on the crank pulse wheel 202 corresponds to a specific buffer value, the buffer values do not repeat. Therefore, the read module 114 only needs to identify the tooth type for as many teeth on the crank pulse wheel 202 as are in the sliding buffer in order for the position module 118 to determine a position on the crank pulse wheel 202. For example, suppose that the buffer module 116 calculates the first buffer as (1, 4, 2), the second buffer value as (4, 2, 1), and the third buffer value as (2, 1, 2). The position module 118 may determine that the second buffer value corresponds to an angular position of 0° on the crank pulse wheel 202. Because the first buffer value (1, 4, 2) is different than the second buffer value (4, 2, 1), the position module 118 can distinguish between the angular positions indicated by the first sliding buffer 602 and the second sliding buffer.

FIG. 7 is an example flow diagram of another method for crankshaft tooth sensing according to one or more embodiments. FIG. 7 will be described with reference to FIGS. 1-6 and 8. As shown in FIG. 7, another method for providing a crankshaft tooth sensing is described according to a number of steps for simplicity, but it is understood that the elements of the method 700 can be organized into different architectures, blocks, stages, and/or processes. Some of the steps operate in a similar manner as described with respect to method 300 of FIG. 3.

At block 302, the method 700 includes the read module 114 identifying a first tooth characteristic of a tooth of a plurality of teeth on the crank pulse wheel 202 with a first sensor element 404. In one embodiment, the first tooth characteristic is a variation in the magnetic field along the first axis 408. The first sensor element 404 may be a giant magnetoresistance sensor.

At block 304, the method 700 includes the read module 114 identifying a second tooth characteristic of the tooth with a second sensor element 406. In one embodiment, the second tooth characteristic is a variation in the magnetic field along the second axis 410 parallel to and separated from the first axis 408 by an axis separation 412. The second sensor element 406 may also be a giant magnetoresistance sensor. The first sensor element 404 and the second sensor element 406 may be separated by the magnetic element 402.

At block 702 the method 700 includes the read module 114 identifying a third tooth characteristic of the tooth with a third sensor 802 as shown in FIG. 8. Suppose that the first sensor element 404 and the second sensor element 406 are both giant magnetoresistance sensors, the third sensor 802 may be a color sensor.

At block 306, the method 700 includes the read module 114 identifying a tooth type for the tooth based on the first tooth characteristic and the second tooth characteristic. For example, the tooth type may be based on variations in the magnetic field at the first axis 408 and the second axis 410. In another embodiment, the read module 114 may identify the tooth type based on the first tooth characteristic, the second tooth characteristic, and the third tooth characteristic. For example, the tooth type may be based on variations in the magnetic field at the first axis 408 and the second axis 410 as well as a color of at least one face of the tooth.

At block 308, the method 700 includes the buffer module 116 identifying a sliding buffer for a set of N teeth of the plurality of teeth on the crank pulse wheel 202. At block 310, the method 700 includes the buffer module 116 calculating a buffer value for the sliding buffer corresponding to the N set of teeth represented in the sliding buffer. At block 312, the method 700 includes the position module 118 determining an angular position of the crank pulse wheel based on the buffer value.

At block 704, the method 700 includes the position module 118 detecting an error associated with the angular position based on the third tooth characteristic. For example, suppose that the read module 114 identified the tooth type of the first tooth 502 based on the first tooth characteristic, the measured variations in the magnetic field at the first axis 408, and the second tooth characteristic, the measured variations in the magnetic field at the second axis 410. Based on the first tooth characteristic and the second tooth characteristic, the read module 114 may identify the tooth type of the first tooth 502 as an angled tooth. Suppose that angled teeth are colored blue or green, but that the third tooth characteristic is that the first tooth is red. Because the tooth type based on the first tooth characteristic and the second characteristic does not comport with the third characteristic, the position module 118 may detect that an error has occurred. Because there has been an error, the angular position determined at block 312 is suspected to be incorrect.

At block 706, the method 700 includes the position module 118 determining a revised angular position due to the error. For example, if the tooth type was previously based on two tooth characteristic, the method 700 may perform a next iteration for the teeth in the next sliding buffer in which the tooth types are determined based on more characteristics. In another embodiment, the revised angular position may be determined based on different tooth characteristics. For example, the revised angular position of the crank pulse wheel 202 may be based on the first tooth characteristic and the third tooth characteristic. Accordingly, the tooth type of the teeth in the crank pulse wheel 202 can be determined based on more or different data in order to revise the tooth types and thus the calculated angular position. Because each tooth of the plurality of teeth is associated with a corresponding buffer value, and the buffer values are unique, the angular position is revised accordingly.

By combining two or more of the tooth characteristics, the systems and methods described herein receive more information (e.g. tooth characteristics) about a single tooth on the crank pulse wheel 202. Accordingly, the system may only have to read two teeth to determine the angular position of the crank pulse wheel 202. Furthermore, if an error is detected, the angular position previously determined can be revised based on the information received for that single tooth. Accordingly, the systems and methods herein provide more efficient determination of the angular position of the crank pulse wheel, but additionally offer more reliable angular positions. Moreover, the angular positions can be revised based on the information.

Various operations of embodiments are provided herein. The order in which one or more or all of the operations are described should not be construed as to imply that these operations are necessarily order dependent. Alternative ordering will be appreciated based on this description. Further, not all operations may necessarily be present in each embodiment provided herein.

As used in this application, “or” is intended to mean an inclusive “or” rather than an exclusive “or”. Further, an inclusive “or” may include any combination thereof (e.g., A, B, or any combination thereof). In addition, “a” and “an” as used in this application are generally construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form. Additionally, at least one of A and B and/or the like generally means A or B or both A and B. Further, to the extent that “includes”, “having”, “has”, “with”, or variants thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising”.

Further, unless specified otherwise, “first”, “second”, or the like are not intended to imply a temporal aspect, a spatial aspect, an ordering, etc. Rather, such terms are merely used as identifiers, names, etc. for features, elements, items, etc. For example, a first channel and a second channel generally correspond to channel A and channel B or two different or two identical channels or the same channel. Additionally, “comprising”, “comprises”, “including”, “includes”, or the like generally means comprising or including, but not limited to.

It will be appreciated that various embodiments of the above-disclosed and other features and functions, or alternatives or varieties thereof, may be desirably combined into many other different systems or applications. Also, that various presently unforeseen or unanticipated alternatives, modifications, variations or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims. 

The invention claimed is:
 1. A method for crankshaft tooth sensing for a crank pulse wheel of a vehicle, the method comprising: identifying a first tooth characteristic of a tooth of a plurality of teeth on the crank pulse wheel with a crankshaft sensor having a magnetic element, a first sensor element, and a second sensor element, wherein the plurality of teeth are arranged in a single track on the crank pulse wheel, and wherein the first tooth characteristic identified by the first sensor element measuring a first axis of a magnetic field generated by the magnetic element; identifying a second tooth characteristic of the tooth with the second sensor element; identifying a tooth type for the tooth based on the first tooth characteristic and the second tooth characteristic identifying a sliding buffer for a set of N teeth of the plurality of teeth on the crank pulse wheel, wherein N is a positive integer less than a total number of teeth of the crank pulse wheel; calculating a buffer value for the sliding buffer corresponding to the N set of teeth represented in the sliding buffer; and determining an angular position of the crank pulse wheel based on the buffer value.
 2. The method for crankshaft tooth sensing of claim 1, wherein the first tooth characteristic is presence of a tooth.
 3. The method for crankshaft tooth sensing of claim 1, wherein the second tooth characteristic is protrusion width that is normal to a radially outward direction of the crank pulse wheel.
 4. The method for crankshaft tooth sensing of claim 1, wherein the magnetic element is interposed between and separates the first sensor element and the second sensor element.
 5. The method for crankshaft tooth sensing of claim 1, wherein the second sensor element that measures a second axis of the magnetic field.
 6. The method for crankshaft tooth sensing of claim 5, wherein the first axis is parallel to the second axis.
 7. The method for crankshaft tooth sensing of claim 5, wherein the first sensor element is a first magneto-resistive sensor and the second sensor element is a second magneto-resistive sensor.
 8. The method for crankshaft tooth sensing of claim 1, wherein the second sensor element is a color sensor and the second tooth characteristic is a color of at least one face of the tooth.
 9. The method for crankshaft tooth sensing of claim 1, further comprising: identifying a third tooth characteristic with a third sensor; detecting an error associated with the angular position of the crank pulse wheel based on the third tooth characteristic; and determining a revised angular position of the crank pulse wheel based on the first tooth characteristic and the third tooth characteristic.
 10. The method for crankshaft tooth sensing of claim 1, wherein each tooth of the plurality of teeth is associated with a corresponding buffer value, and wherein buffer values are unique.
 11. A non-transitory computer-readable storage medium storing instructions that, when executed by a computer, causes the computer to perform a method for crankshaft tooth sensing for a crank pulse wheel of a vehicle: identifying a first tooth characteristic of a tooth of a plurality of teeth on the crank pulse wheel with a crankshaft sensor having a magnetic element, a first sensor element, and a second sensor element, wherein the plurality of teeth are arranged in a single track on the crank pulse wheel, and wherein the first tooth characteristic identified by the first sensor element measuring a first axis of a magnetic field generated by the magnetic element; identifying a second tooth characteristic of the tooth with the second sensor element; identifying a tooth type for the tooth based on the first tooth characteristic and the second tooth characteristic identifying a sliding buffer for a set of N teeth of the plurality of teeth on the crank pulse wheel, wherein N is a positive integer less than a total number of teeth of the crank pulse wheel; calculating a buffer value for the sliding buffer corresponding to the N set of teeth represented in the sliding buffer; and determining an angular position of the crank pulse wheel based on the buffer value.
 12. The non-transitory computer-readable storage medium of claim 11, wherein the first tooth characteristic is tooth length, and wherein the second tooth characteristic is protrusion width that is normal to a radially outward direction of the crank pulse wheel.
 13. The non-transitory computer-readable storage medium of claim 11, wherein the second sensor element that measures a second axis of the magnetic field, and wherein the first axis is parallel to the second axis.
 14. The non-transitory computer-readable storage medium of claim 11, wherein the magnetic element is interposed between and separates the first sensor element and the second sensor element.
 15. The non-transitory computer-readable storage medium of claim 11, wherein the second sensor element is a color sensor and the second tooth characteristic is a color of at least one face of the tooth.
 16. A system for crankshaft tooth sensing for a crank pulse wheel of a vehicle, the system comprising: a plurality of teeth on the crank pulse wheel arranged in a single track; a crankshaft sensor having a magnetic element interposed between and separating a first sensor element and a second sensor element, wherein the first sensor element and the second sensor element are magnetic measurement devices; a processor; and a memory storing instructions that are executed by the processor and cause the processor to: identifying a first tooth characteristic of a tooth of the plurality of teeth on the crank pulse wheel with the first sensor element of the crankshaft sensor that measures a first axis of a magnetic field generated by the magnetic element; identifying a second tooth characteristic of the tooth of the plurality of teeth with the second sensor element; identifying a tooth type for the tooth based on the first tooth characteristic and the second tooth characteristic identifying a sliding buffer for a set of N teeth of the plurality of teeth on the crank pulse wheel, wherein N is a positive integer less than a total number of teeth of the crank pulse wheel; calculating a buffer value for the sliding buffer corresponding to the N set of teeth represented in the sliding buffer; and determining an angular position of the crank pulse wheel based on the buffer value.
 17. The system for crankshaft tooth sensing of claim 16, wherein the second sensor element that measures a second axis of the magnetic field.
 18. The system for crankshaft tooth sensing of claim 17, wherein the first axis is parallel to the second axis.
 19. The system for crankshaft tooth sensing of claim 16, wherein the second sensor element is a color sensor, and wherein the second tooth characteristic is a color of at least one face of the tooth.
 20. The system for crankshaft tooth sensing of claim 16, wherein processor is further configured to: identify a third tooth characteristic with a third sensor; detect an error associated with the angular position of the crank pulse wheel based on the third tooth characteristic; and determine a revised angular position of the crank pulse wheel based on the first tooth characteristic and the third tooth characteristic. 